Computing devices have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Computing devices have facilitated increased productivity and reduced costs in communicating and analyzing data in most areas of entertainment, education, business, and science. The amount of information accessible through computing devices continues to increase. There are a number of techniques for locating information depending upon where the data is located. Generally, search engines are information retrieval systems used to locate content, information, data and the like on computing systems. Internet search engines enable searching of publicly accessible information on the World Wide Web, but not application data that is private to a user. Desktop search engines enable searching the local system for user specific information.
Referring now to FIG. 1, a computing environment according to the conventional art is shown. The computing environment 100 includes one or more applications that run locally on a user computing device (e.g., desktop applications) 110-130, local storage 140 for storing data for use by the applications, and a search engine 150-170. The search engine's crawler 150 collects metadata about each item of content in the local storage 140 and indexes 160 the content based on the metadata. The search index 160 may then be queried by the query routine 170 of the search engine 150-170 to find one or more data items that match the search query. The matching data items are displayed to the user as search results. The user may select a given data item in the search results to deeply link to the data in a corresponding application.
In addition to content and application that run locally on a user computing device, there are a growing number of rich internet applications. The rich internet applications are applications with features and functionality similar to desktop applications. At least a portion of each rich internet application runs locally in a secure environment (e.g., sandbox) and a portion may also run on a server. The content and application data of a rich internet application is stored in a private storage area of the rich internet application and is not generally available outside the rich internet application. Therefore, the content of rich internet applications and application data is not readily searchable by the desktop search engine. Accordingly, there is a need for search techniques that provide for searching the content of rich internet applications.